import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import dts from 'vite-plugin-dts';

export default defineConfig({
    plugins: [
        vue(),
        dts({
            insertTypesEntry: true, // 插入TS类型声明文件
        })
    ],
    build: {
        lib: {
            entry: path.resolve(__dirname, 'src/index.ts'),
            name: 'VueDcForm',
            // fileName: 'vue-dc-form',
            fileName: (format) => `vue-dc-form.${format}.js`,
            cssFileName: 'style', // 确保CSS文件名为style.css
        },
        rollupOptions: {
            // 确保外部化处理那些你不想打包进库的依赖
            external: ['vue', 'element-plus'],
            output: {
                // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
                globals: {
                    vue: 'Vue',
                    'element-plus': 'ElementPlus'
                },
                exports: 'named' // 导出模式为named，确保组件可以被正确导入
            }
        },
        cssCodeSplit: true,// 如果设置为false，整个项目中的所有 CSS 将被提取到一个 CSS 文件中。
    }
})